package com.github.zzay.care.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.zzay.care.dto.VolunteerDto;
import com.github.zzay.care.entity.Volunteer;

import java.util.List;

/**
 * @author zzay
 * @interfaceName VolunteerService
 * @description Service interface class for entity "Volunteer"
 * @create 2022/07/07 00:08
 * @see com.github.zzay.care.service.impl.VolunteerServiceImpl
 */
public interface VolunteerService extends IService<Volunteer> {

    /**
     * Delete a volunteer's information.
     *
     * @param idCard ID card number
     * @return Operation result
     */
    Boolean deleteInfo(String idCard);

    /**
     * Update a volunteer's information.
     *
     * @param volunteerDto Volunteer Dto
     * @return Operation result
     */
    Boolean updateInfo(VolunteerDto volunteerDto);

    /**
     * Get all information.
     *
     * @return A list of all information
     */
    List<VolunteerDto> getAll();

    /**
     * Get a volunteer's information with the given id card number.
     *
     * @param idCard ID card number
     * @return Volunteer's information
     */
    VolunteerDto getInfoById(String idCard);

    /**
     * Get a volunteer's information with the given name.
     *
     * @param name Name
     * @return Volunteer's information
     */
    VolunteerDto getInfoByName(String name);

}
